﻿using System;
using System.Collections.Generic;

namespace UltimateFracturing
{
	// Token: 0x02000437 RID: 1079
	public struct EdgeKeyByHash
	{
		// Token: 0x06001E55 RID: 7765 RVA: 0x000C1898 File Offset: 0x000BFA98
		public EdgeKeyByHash(int nHashA, int nHashB)
		{
			this.nHashA = nHashA;
			this.nHashB = nHashB;
		}

		// Token: 0x06001E56 RID: 7766 RVA: 0x000C1898 File Offset: 0x000BFA98
		public void Set(int nHashA, int nHashB)
		{
			this.nHashA = nHashA;
			this.nHashB = nHashB;
		}

		// Token: 0x06001E57 RID: 7767 RVA: 0x000C18A8 File Offset: 0x000BFAA8
		public bool CompareTo(int nHashA, int nHashB)
		{
			return (this.nHashA == nHashA && this.nHashB == nHashB) || (this.nHashA == nHashB && this.nHashB == nHashA);
		}

		// Token: 0x04001ECA RID: 7882
		public int nHashA;

		// Token: 0x04001ECB RID: 7883
		public int nHashB;

		// Token: 0x02000438 RID: 1080
		public class EqualityComparer : IEqualityComparer<EdgeKeyByHash>
		{
			// Token: 0x06001E59 RID: 7769 RVA: 0x000C18DF File Offset: 0x000BFADF
			public bool Equals(EdgeKeyByHash x, EdgeKeyByHash y)
			{
				return x.CompareTo(y.nHashA, y.nHashB);
			}

			// Token: 0x06001E5A RID: 7770 RVA: 0x000C18F6 File Offset: 0x000BFAF6
			public int GetHashCode(EdgeKeyByHash x)
			{
				return x.nHashA.GetHashCode() + x.nHashB.GetHashCode();
			}
		}
	}
}
